<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-pragma">{-# LANGUAGE CPP  #-}</span><span>
</span><span id="line-2"></span><span class="hs-pragma">{-# LANGUAGE Safe #-}</span><span>
</span><span id="line-3"></span><span>
</span><span id="line-4"></span><span class="hs-comment">-----------------------------------------------------------------------------</span><span>
</span><span id="line-5"></span><span class="hs-comment">-- |</span><span>
</span><span id="line-6"></span><span class="hs-comment">-- Module      :  System.Info</span><span>
</span><span id="line-7"></span><span class="hs-comment">-- Copyright   :  (c) The University of Glasgow 2001</span><span>
</span><span id="line-8"></span><span class="hs-comment">-- License     :  BSD-style (see the file libraries/base/LICENSE)</span><span>
</span><span id="line-9"></span><span class="hs-comment">--</span><span>
</span><span id="line-10"></span><span class="hs-comment">-- Maintainer  :  libraries@haskell.org</span><span>
</span><span id="line-11"></span><span class="hs-comment">-- Stability   :  experimental</span><span>
</span><span id="line-12"></span><span class="hs-comment">-- Portability :  portable</span><span>
</span><span id="line-13"></span><span class="hs-comment">--</span><span>
</span><span id="line-14"></span><span class="hs-comment">-- Information about the characteristics of the host</span><span>
</span><span id="line-15"></span><span class="hs-comment">-- system lucky enough to run your program.</span><span>
</span><span id="line-16"></span><span class="hs-comment">--</span><span>
</span><span id="line-17"></span><span class="hs-comment">-- For a comprehensive listing of supported platforms, please refer to</span><span>
</span><span id="line-18"></span><span class="hs-comment">-- https://gitlab.haskell.org/ghc/ghc/-/wikis/platforms</span><span>
</span><span id="line-19"></span><span class="hs-comment">-----------------------------------------------------------------------------</span><span>
</span><span id="line-20"></span><span>
</span><span id="line-21"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">System.Info</span><span>
</span><span id="line-22"></span><span>  </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="System.Info.html#os"><span class="hs-identifier">os</span></a></span><span>
</span><span id="line-23"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.Info.html#arch"><span class="hs-identifier">arch</span></a></span><span>
</span><span id="line-24"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.Info.html#compilerName"><span class="hs-identifier">compilerName</span></a></span><span>
</span><span id="line-25"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.Info.html#compilerVersion"><span class="hs-identifier">compilerVersion</span></a></span><span>
</span><span id="line-26"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.Info.html#fullCompilerVersion"><span class="hs-identifier">fullCompilerVersion</span></a></span><span>
</span><span id="line-27"></span><span>  </span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-28"></span><span>
</span><span id="line-29"></span><span class="hs-keyword">import</span><span>           </span><span class="annot"><a href="Data.Version.html"><span class="hs-identifier">Data.Version</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Data.Version.html#Version"><span class="hs-identifier">Version</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-30"></span><span>
</span><span id="line-31"></span><span class="hs-comment">-- | The version of 'compilerName' with which the program was compiled</span><span>
</span><span id="line-32"></span><span class="hs-comment">-- or is being interpreted.</span><span>
</span><span id="line-33"></span><span class="hs-comment">--</span><span>
</span><span id="line-34"></span><span class="hs-comment">-- ==== __Example__</span><span>
</span><span id="line-35"></span><span class="hs-comment">-- &gt; ghci&gt; compilerVersion</span><span>
</span><span id="line-36"></span><span class="hs-comment">-- &gt; Version {versionBranch = [8,8], versionTags = []}</span><span>
</span><span id="line-37"></span><span class="annot"><a href="System.Info.html#compilerVersion"><span class="hs-identifier hs-type">compilerVersion</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Data.Version.html#Version"><span class="hs-identifier hs-type">Version</span></a></span><span>
</span><span id="line-38"></span><span id="compilerVersion"><span class="annot"><span class="annottext">compilerVersion :: Version
</span><a href="System.Info.html#compilerVersion"><span class="hs-identifier hs-var hs-var">compilerVersion</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; [String] -&gt; Version
</span><a href="Data.Version.html#Version"><span class="hs-identifier hs-var">Version</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679563873"><span class="hs-identifier hs-var">major</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679563872"><span class="hs-identifier hs-var">minor</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-39"></span><span>  </span><span class="hs-keyword">where</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679563873"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679563873"><span class="hs-identifier hs-var">major</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679563872"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679563872"><span class="hs-identifier hs-var">minor</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="System.Info.html#compilerVersionRaw"><span class="hs-identifier hs-var">compilerVersionRaw</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; (Int, Int)
forall a. Integral a =&gt; a -&gt; a -&gt; (a, a)
</span><a href="GHC.Real.html#divMod"><span class="hs-operator hs-var">`divMod`</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">100</span></span><span>
</span><span id="line-40"></span><span>
</span><span id="line-41"></span><span class="hs-comment">-- | The full version of 'compilerName' with which the program was compiled</span><span>
</span><span id="line-42"></span><span class="hs-comment">-- or is being interpreted. It includes the major, minor, revision and an additional</span><span>
</span><span id="line-43"></span><span class="hs-comment">-- identifier, generally in the form &quot;&lt;year&gt;&lt;month&gt;&lt;day&gt;&quot;.</span><span>
</span><span id="line-44"></span><span class="annot"><a href="System.Info.html#fullCompilerVersion"><span class="hs-identifier hs-type">fullCompilerVersion</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Data.Version.html#Version"><span class="hs-identifier hs-type">Version</span></a></span><span>
</span><span id="line-45"></span><span id="fullCompilerVersion"><span class="annot"><span class="annottext">fullCompilerVersion :: Version
</span><a href="System.Info.html#fullCompilerVersion"><span class="hs-identifier hs-var hs-var">fullCompilerVersion</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; [String] -&gt; Version
</span><a href="Data.Version.html#Version"><span class="hs-identifier hs-var">Version</span></a></span><span> </span><span class="annot"><span class="annottext">[Int]
</span><a href="#local-6989586621679563865"><span class="hs-identifier hs-var">version</span></a></span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-46"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-47"></span><span>    </span><span class="annot"><a href="#local-6989586621679563865"><span class="hs-identifier hs-type">version</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-48"></span><span>    </span><span id="local-6989586621679563865"><span class="annot"><span class="annottext">version :: [Int]
</span><a href="#local-6989586621679563865"><span class="hs-identifier hs-var hs-var">version</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(String -&gt; Int) -&gt; [String] -&gt; [Int]
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; Int
forall a. Read a =&gt; String -&gt; a
</span><a href="Text.Read.html#read"><span class="hs-identifier hs-var">read</span></a></span><span> </span><span class="annot"><span class="annottext">([String] -&gt; [Int]) -&gt; [String] -&gt; [Int]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; [String]
</span><a href="System.Info.html#splitVersion"><span class="hs-identifier hs-var">splitVersion</span></a></span><span> </span><span class="hs-identifier">__GLASGOW_HASKELL_FULL_VERSION__</span><span>
</span><span id="line-49"></span><span>
</span><span id="line-50"></span><span class="annot"><a href="System.Info.html#splitVersion"><span class="hs-identifier hs-type">splitVersion</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-51"></span><span id="splitVersion"><span class="annot"><span class="annottext">splitVersion :: String -&gt; [String]
</span><a href="System.Info.html#splitVersion"><span class="hs-identifier hs-var hs-var">splitVersion</span></a></span></span><span> </span><span id="local-6989586621679563862"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679563862"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-52"></span><span>  </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">(Char -&gt; Bool) -&gt; String -&gt; String
forall a. (a -&gt; Bool) -&gt; [a] -&gt; [a]
</span><a href="GHC.List.html#dropWhile"><span class="hs-identifier hs-var">dropWhile</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char -&gt; Char -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'.'</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679563862"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-53"></span><span>    </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&quot;</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-54"></span><span>    </span><span id="local-6989586621679563860"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679563860"><span class="hs-identifier hs-var">s'</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">let</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679563858"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679563858"><span class="hs-identifier hs-var">w</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679563857"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679563857"><span class="hs-identifier hs-var">s''</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Char -&gt; Bool) -&gt; String -&gt; (String, String)
forall a. (a -&gt; Bool) -&gt; [a] -&gt; ([a], [a])
</span><a href="GHC.List.html#break"><span class="hs-identifier hs-var">break</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char -&gt; Char -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'.'</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679563860"><span class="hs-identifier hs-var">s'</span></a></span><span>
</span><span id="line-55"></span><span>           </span><span class="hs-keyword">in</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679563858"><span class="hs-identifier hs-var">w</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; [String] -&gt; [String]
forall a. a -&gt; [a] -&gt; [a]
</span><a href="../../ghc-prim/src/GHC.Types.html#%3A"><span class="hs-glyph hs-var">:</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; [String]
</span><a href="System.Info.html#splitVersion"><span class="hs-identifier hs-var">splitVersion</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679563857"><span class="hs-identifier hs-var">s''</span></a></span><span class="hs-cpp">

#include &quot;ghcplatform.h&quot;
</span><span>
</span><span id="line-59"></span><span class="hs-comment">-- | The operating system on which the program is running.</span><span>
</span><span id="line-60"></span><span class="hs-comment">-- Common values include:</span><span>
</span><span id="line-61"></span><span class="hs-comment">--</span><span>
</span><span id="line-62"></span><span class="hs-comment">--     * &quot;darwin&quot; &#8212; macOS</span><span>
</span><span id="line-63"></span><span class="hs-comment">--     * &quot;freebsd&quot;</span><span>
</span><span id="line-64"></span><span class="hs-comment">--     * &quot;linux&quot;</span><span>
</span><span id="line-65"></span><span class="hs-comment">--     * &quot;linux-android&quot;</span><span>
</span><span id="line-66"></span><span class="hs-comment">--     * &quot;mingw32&quot; &#8212; Windows</span><span>
</span><span id="line-67"></span><span class="hs-comment">--     * &quot;netbsd&quot;</span><span>
</span><span id="line-68"></span><span class="hs-comment">--     * &quot;openbsd&quot;</span><span>
</span><span id="line-69"></span><span class="annot"><a href="System.Info.html#os"><span class="hs-identifier hs-type">os</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-70"></span><span id="os"><span class="annot"><span class="annottext">os :: String
</span><a href="System.Info.html#os"><span class="hs-identifier hs-var hs-var">os</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">HOST_OS</span><span>
</span><span id="line-71"></span><span>
</span><span id="line-72"></span><span class="hs-comment">-- | The machine architecture on which the program is running.</span><span>
</span><span id="line-73"></span><span class="hs-comment">-- Common values include:</span><span>
</span><span id="line-74"></span><span class="hs-comment">--</span><span>
</span><span id="line-75"></span><span class="hs-comment">--    * &quot;aarch64&quot;</span><span>
</span><span id="line-76"></span><span class="hs-comment">--    * &quot;alpha&quot;</span><span>
</span><span id="line-77"></span><span class="hs-comment">--    * &quot;arm&quot;</span><span>
</span><span id="line-78"></span><span class="hs-comment">--    * &quot;hppa&quot;</span><span>
</span><span id="line-79"></span><span class="hs-comment">--    * &quot;hppa1_1&quot;</span><span>
</span><span id="line-80"></span><span class="hs-comment">--    * &quot;i386&quot;</span><span>
</span><span id="line-81"></span><span class="hs-comment">--    * &quot;ia64&quot;</span><span>
</span><span id="line-82"></span><span class="hs-comment">--    * &quot;m68k&quot;</span><span>
</span><span id="line-83"></span><span class="hs-comment">--    * &quot;mips&quot;</span><span>
</span><span id="line-84"></span><span class="hs-comment">--    * &quot;mipseb&quot;</span><span>
</span><span id="line-85"></span><span class="hs-comment">--    * &quot;mipsel&quot;</span><span>
</span><span id="line-86"></span><span class="hs-comment">--    * &quot;nios2&quot;</span><span>
</span><span id="line-87"></span><span class="hs-comment">--    * &quot;powerpc&quot;</span><span>
</span><span id="line-88"></span><span class="hs-comment">--    * &quot;powerpc64&quot;</span><span>
</span><span id="line-89"></span><span class="hs-comment">--    * &quot;powerpc64le&quot;</span><span>
</span><span id="line-90"></span><span class="hs-comment">--    * &quot;riscv32&quot;</span><span>
</span><span id="line-91"></span><span class="hs-comment">--    * &quot;riscv64&quot;</span><span>
</span><span id="line-92"></span><span class="hs-comment">--    * &quot;rs6000&quot;</span><span>
</span><span id="line-93"></span><span class="hs-comment">--    * &quot;s390&quot;</span><span>
</span><span id="line-94"></span><span class="hs-comment">--    * &quot;s390x&quot;</span><span>
</span><span id="line-95"></span><span class="hs-comment">--    * &quot;sh4&quot;</span><span>
</span><span id="line-96"></span><span class="hs-comment">--    * &quot;sparc&quot;</span><span>
</span><span id="line-97"></span><span class="hs-comment">--    * &quot;sparc64&quot;</span><span>
</span><span id="line-98"></span><span class="hs-comment">--    * &quot;vax&quot;</span><span>
</span><span id="line-99"></span><span class="hs-comment">--    * &quot;x86_64&quot;</span><span>
</span><span id="line-100"></span><span class="annot"><a href="System.Info.html#arch"><span class="hs-identifier hs-type">arch</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-101"></span><span id="arch"><span class="annot"><span class="annottext">arch :: String
</span><a href="System.Info.html#arch"><span class="hs-identifier hs-var hs-var">arch</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">HOST_ARCH</span><span>
</span><span id="line-102"></span><span>
</span><span id="line-103"></span><span class="hs-comment">-- | The Haskell implementation with which the program was compiled</span><span>
</span><span id="line-104"></span><span class="hs-comment">-- or is being interpreted.</span><span>
</span><span id="line-105"></span><span class="hs-comment">-- On the GHC platform, the value is &quot;ghc&quot;.</span><span>
</span><span id="line-106"></span><span class="annot"><a href="System.Info.html#compilerName"><span class="hs-identifier hs-type">compilerName</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-107"></span><span id="compilerName"><span class="annot"><span class="annottext">compilerName :: String
</span><a href="System.Info.html#compilerName"><span class="hs-identifier hs-var hs-var">compilerName</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;ghc&quot;</span></span><span>
</span><span id="line-108"></span><span>
</span><span id="line-109"></span><span class="annot"><a href="System.Info.html#compilerVersionRaw"><span class="hs-identifier hs-type">compilerVersionRaw</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span>
</span><span id="line-110"></span><span id="compilerVersionRaw"><span class="annot"><span class="annottext">compilerVersionRaw :: Int
</span><a href="System.Info.html#compilerVersionRaw"><span class="hs-identifier hs-var hs-var">compilerVersionRaw</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">__GLASGOW_HASKELL__</span><span>
</span><span id="line-111"></span></pre></body></html>